package com.qf.feign;

import com.qf.pojo.Goods;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

/**
 *
 * 统一定义 远程调用的 接口（Goods微服务）
 * @FeignClient(""): 标记在类上， 表示该接口为远程调用接口，
 *    value属性指定 被调用方法的 应用名称
 *
 * 定义feign接口时， 请求方式必须相同
 *  1. 如果是get请求，参数上必须添加 @RequestParam注解（@PathVariable）
 *
 * @author 千锋教育
 * @Company http://www.mobiletrain.org/
 * @Version 1.0
 */
//@FeignClient(value = "QF-GOODS", fallbackFactory = MyFallbackFactory.class)
@FeignClient(value = "QF-GOODS")
public interface GoodsFeign {
    // 此路径 与 goods应用程序中的路径必须一致
    @RequestMapping("/goods/sayHello")
    public String sayHello();


    @GetMapping("/goods/get")
    public String get(@RequestParam Integer id);


    @GetMapping("/goods/get2/{id}")
    public String get2(@PathVariable Integer id);


    @PostMapping("/goods/add")
    public String add(Goods goods);
}
